#ifndef NR_DEVICE_ITEM_SERVER_H
#define NR_DEVICE_ITEM_SERVER_H

#include "nr_device_item.h"
#include "nr_device_group.h"

class nr_device_item_server : public nr_device_item
{
public:
    nr_device_item_server();
    
    nr_device_item_server(nr_device_item_server &item_server);
    
    ~nr_device_item_server();
    
    nr_device_item_server& operator = (nr_device_item_server &item_server);
    
    nr_device_groups& groups() { return m_device_groups; }   

    virtual nr_device_item* find_device_item_by_id(const nr_device_id_t &device_id);

    virtual void serialize(QDataStream& data_stream);

    virtual void deserialize(QDataStream& data_stream);
    
private:
    void copy_item_server(nr_device_item_server& item_server);
    
    nr_device_groups m_device_groups;
};

#endif // NR_DEVICE_ITEM_SERVER_H
